# -*- coding: utf-8 -*-
# F:\python_env\PaChong_env
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者：cacho_37967865
#博客：https://blog.csdn.net/sinat_37967865
#文件：translater.py
#日期：2018-04-30
#备注：通过request,beautifulSoup对在线翻译内容进行获取和处理，通过colorama对控制台的文字进行着色。
       最后通过安装pip install pyinstaller 第三方库将py文件打包成EXE文件，可以直接使用：       
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


import urllib.request
from bs4 import BeautifulSoup
from colorama import init,Fore

init(autoreset=True)
root_url = 'http://www.iciba.com/'

while True:
    word = input('请输入想要查询的单词（或"q"退出）：\n')
    if word == 'q':
        break
    else:
        url = root_url +  urllib.parse.quote(word)  # 解决url中带有中文编译失败的问题
        response = urllib.request.urlopen(url)

        html = response.read()
        soup = BeautifulSoup(html, 'lxml')

        tag_soup = soup.find(class_='base-list switch_part')

        if tag_soup == None:    # 防止输入的单词没有释义
            print(Fore.GREEN + '输入的单词不存在，重新输入.')
        else:
            meanings = tag_soup.find_all(class_='clearfix')
            for i in range(len(meanings)):
                translation = meanings[i].get_text()
                print(Fore.CYAN + translation.strip())  # 去掉字符串开头和结尾的空行
                print(Fore.YELLOW + '='*30)